Radio frequency (RF) communication links are known for providing connectivity in point-to-point (e.g., walkie talkies) and point-to-multipoint (e.g., television transmission signals) applications. Typically, these applications have used a high power narrow band width transmission to ensure receipt of a data signal. The bandwidth of a typical RF transmission is allocated based on the complexity of the data signal. These systems are designed to concentrate energy close to a center frequency, which results in an increased transmission range. In this way, noise in a transmission environment, such as signal noise due to other RF transmitters, is overcome by tuning a receiver to the frequency of the desired signal. At this frequency, the power of the data signal is maximized and is more likely to be distinguished from background noise.
A DSSS transmission is a form of an RF transmission which differs from the typical RF transmission discussed above. With a DSSS transmission, instead of concentrating a high power transmission within a narrow bandwidth, a relatively low power transmission is spread out over a bandwidth much wider than is required to send the signal.
A DSSS system includes on the transmitting side, spreading the data signal, modulating the spreaded data, and up converting of the transmitted signal frequency to produce a DSSS signal. On the receiver side, the DSSS signal is down converted, demodulated, and despread to recover the data.
In operation, a data signal is "spread" over a wide bandwidth and then transmitted. In some cases, background transmission noise may have a higher peak power than the spread signal transmission. Yet, since the noise typically has a narrow bandwidth, only a small portion of the DSSS signal transmission may be obscured. Consequently, the SS signal can be reliably reconstructed at the receiver.
At the receiver, a received DSSS signal is collapsed ("despread") by removing the effect of the spreading. In this way, the signal may be regenerated. Despreading a DSSS signal requires knowledge of the spreading technique utilized at the transmitter since the same spreading technique must be utilized to despread the DSSS signal. It is for this reason that a DSSS signal is difficult to intercept or jam since to effectively do either, requires specific knowledge of the spreading technique utilized.
There are numerous ways to spread a signal. Typically, the spreading technique is selected to be independent of the signal. In DSSS, the data signal is combined with a pseudo noise binary bit stream ("PN code"). The PN code is utilized to modulate the carrier of the data signal. Typically, the PN code is synchronous with the data signal but has a much faster bit rate. By combining the data signal and the PN code, a spread data signal is produced.
The PN code is selected to appear random having approximately an equal number of 0's and 1's or -1's and 1's. The clock period of the PN code is called the chip time of the PN code and each PN code bit is called a chip.
In the following described figures, like reference numbers are utilized to describe functional blocks that perform the same or similar functions.
FIG. 1 shows a direct sequence transmitter wherein a binary adder 110 combines a PN code 125 from a PN code generator 120 with a data signal 100 to produce a spread data signal 115. The spread data signal 115 is modulated to a carrier frequency through the use of a modulator 130. The modulated signal is then in-phase, quadrature (I-Q) channel frequency up converted by an up converter 140 to produce a DSSS signal suitable for transmission.
FIG. 2 illustrates the operation of the binary adder 110 shown in FIG. 1. As shown, the data signal 100 is combined with the PN code 125 to produce the spread data signal 115. The modulation technique shown is a binary phase shift key (BPSK) technique wherein the data signal is modulated such that a change in phase of 180.degree. corresponds to a 0 or 1 binary state. As shown, combining the data signal with the PN code results in the PN code being either unchanged for a data bit of 1, or inverted for data bit of 0. In a similar modulation technique, the opposite approach may be utilized wherein the PN code is inverted for a data bit of 1, and left unchanged for a data bit of 0. This modulation process is called bit-inversion modulation.
For a transmitter wherein BPSK is the modulation scheme, the signal observed at the receiver through an additive white Gaussian noise (AWGN) channel is: EQU r(t)=2S+L d(t+.xi.T.sub.0 +.zeta.T.sub.c)c(t+.zeta.T.sub.c)*cos(.omega..sub.0 t+.theta.)+n(t) (1)
where:
S is the signal power, PA1 T.sub.c is the chip time of the pseudo noise (PN) code, PA1 T.sub.0 is the data bit time, which is assumed to be a multiple of T.sub.c, PA1 c(t) is the PN code waveform, PA1 d(t) is the data signal, PA1 .omega..sub.0 and .theta. are the carrier frequency and waveform phase, PA1 .zeta.T.sub.c is the received PN code phase, PA1 .xi.T.sub.0 is the received data-bit-phase offset (assuming that the data stream timing is synchronous to the received chip time, PA1 n(t) is an AWGN component (e.g., background noise) with one sided power spectral density N.sub.0. PA1 (a) multiplying the received signal r(t) by cos(.omega..sub.0 t) and sin(.omega..sub.0 t), respectively to produce in-phase and quadrature (I-Q) down converted signals (for BPSK modulated signals); PA1 (b) multiplying the I-Q down converted signals by the PN code c(t) having a second PN code phase to produce f(t) and g(t) respectively; PA1 (e) summing separate contiguous portions of f(t) and g(t); PA1 (f) multiplying the summed portions of f(t) and g(t) by a matrix wherein the matrix represents data patterns within an interval MT.sub.c that spans the separate contiguous portions of f(t) and g(t); and PA1 (g) comparing the results of the matrix multiplication to a threshold value to determine if the first PN code phase is equal to the second PN code phase.
In equation (1), AWGN is assumed for ease of discussion. The multiplication of c(t) with d(t) is the spreading of the data signal. In the receiver, the received signal is I-Q phase down converted. A coherent receiver (e.g., a receiver synchronized to the SS signal) will remove cos(.omega..sub.0 t+.theta.) during the demodulation process. Thereafter, the demodulated signal is multiplied by the PN code c(t) to despread the data d(t).
The problem with despreading a received signal is that the PN code receiver must be synchronized with the PN code utilized by the transmitter. In other words, the receiver has to acquire the transmitted PN code. Yet, due to the effect of the data signal d(t) at any given time, the demodulated signal may represent the PN code or the inverted PN code, as shown in FIG. 2. Correlation between the transmitted PN code and the PN code at the receiver is essential for recovering the data signal. A typical circuit used to recover a data signal is a correlator.
FIG. 3A shows a correlator 300 in which a demodulated signal 310 is combined with a PN code wave form signal 320 having an estimated PN code phase. The combined signal is received by an integrate and dump function 340 discussed in more detail below.
To exclude the effect of the data signal d(t) when the correlator is acquiring the PN code, many communication systems have a pilot channel (e.g., a channel separate from the spread data signal) with the data signal d(t) all equal to 1 or -1. In this way, the effects of the data signal on the PN code is known and therefore may be negated for purposes of acquiring the PN code.
The receiver PN code clock can be synchronized to the transmitted PN code transitions. This process though does not ensure that the transmitted PN code is acquired since the phase of the receiver PN code may still differ from the phase of the transmitted PN code. Yet, since the PN code has approximately an equal number of -1's and 1's (see discussion above), multiplying a transmitted PN code by a synchronous, but out-of-phase, receiver PN code results in a small output signal. In other words, the signals are destructively combined. When the transmitted PN code and receiver PN code are in-phase, the signals are constructively combined.
Specifically, the PN code has the property: ##EQU1##
where M is selected to integrate over multiple chips of the PN code, and is preferably an integer greater than 10. When the transmitted PN code and the receiver PN code are in phase, i.e, .tau.=0, we have approximately MT.sub.c or -MT.sub.c at the output of the integrate and dump 340, as contributed by the PN code. However, since there is an AWGN component n(t) to the received signal (see equation 1), and not necessarily an equal number of -1's and 1's to the PN code, an out-of-phase receiver PN code may not result in a combined signal equal to 0.
To account for the possibility of a non-zero result due to noise, the result from the integrate and dump 340 is received by a comparator 360 which squares the result (to remove the sign of the result) and compares the squared result to a threshold value. In a case where the squared result is greater than the threshold value, block 370 determines that the PN code is acquired.
Thereafter, the acquired PN code may be used to despread a received signal containing actual data (e.g., other than all 1's or -1's as discussed above). In a case where the squared value is less than the threshold value, the comparator 360 transmits a signal to a block 380 that adjusts the estimated PN code phase. The PN code with the adjusted PN code phase is then received by the multiplier 330 and the above described process is repeated by the correlator 300 until the PN code is acquired.
In the presence of data d(t), the output of the integrate and dump 340 may equal zero even when the receiver PN code is synchronized with the transmitted PN code. Yet, there are times when the acquisition of c(t) may be desirably performed with d(t) present. For example, re-acquisition of the PN code may be needed when synchronization is lost due to fading noise. In other systems a pilot channel may be unavailable or not implemented.
A traditional way to acquire a transmitted PN code wherein the received signal is data modulated is by a non-coherent combining method. The conventional spread spectrum acquisition system may use a structure as shown in FIG. 3. For an example of spread spectrum acquisition in the presence of data modulation, let us assume M, the code length, equals fifteen.
FIG. 3B depicts a PN code c(t) with a length of fifteen. When d(t+.xi.T.sub.0 +.zeta.T.sub.c) of FIG. 3A equals d.sub.15 (t) as shown in FIG. 3B and the receiver PN code is synchronized with the transmitted PN code (e.g., .zeta.=.sub..zeta. ), the result of squaring by comparator 360 has the value of ( (2s).times.15).sup.2 =450s. Accordingly, synchronization of the transmitted PN code by the receiver correlator results in a large value at the output of comparator 360.
When there is data present in the process of PN code acquisistion, the receiver may "see" a possible input sequence d.sub.i (t)c(t), for i=1,2, . . . ,15 in the integrate and dump period (see block 340). These possible input sequences d.sub.i (t)c(t), for i=1,2, . . . ,15 as in FIG. 3A occur when the data bit time T.sub.0.gtoreq.MT.sub.c, the PN code period. In a case wherein T.sub.0 &lt;MT.sub.c, then there may be two or more possible data transitions of d.sub.i (t) in the integrate and dump period.
A problem of data modulation arises when the received signal is, for instance, (2s)d.sub.7 (t)c(t) or (2s)d.sub.8 (t)c(t) and the PN code of the correlator in the receiver is c(t). In this case, the result of the squaring by the comparator 360 is (.+-. (2s)).sub.2 =2s. In this case, due to the small result from the comparator 360, synchronization of the PN code is not always detected when data is present in the conventional acquisition scheme.
A prior art method of PN code acquisition in the presence of data modulation is described in an article entitled, "Performance of a class of Parallel Spread-Spectrum Code Acquisition Schemes in the Presence of Data Modulation" by Cheng, from IEEE Transistor Communications, vol. 36, No. 5, pages 596-604, May 1988 (the Cheng article), incorporated herein by reference.
FIG. 3C shows the structure of a correlator circuit 300C as described in the Cheng article. In comparing FIGS. 3A and 3C, it is clear that the original integrate interval is changed from MT.sub.c, in the integrate and dump 340 of FIG. 3A, to MT.sub.c /J in the integrate and dump 340C of FIG. 3C. Thereafter, in FIG. 3C, the integration value of the subintervals MT.sub.c,J are squared by squaring block 360C. Thereafter, J consecutive square values (e.g., three consecutive squares) are summed by summing block 361. The summed value is then utilized by a threshold comparison block 362 to determine if the PN code is acquired. When the summed value is greater than a threshold value, the PN code is determined as acquired by block 370. When the summed value is less than or equal to the threshold value, the phase of the estimated PN code phase is adjusted by block 380 and the above process is repeated until the PN code is acquired.
In the correlator circuit 300C, J is a parameter that is optimized through simulations. It is found that with Q possible data transitions in the integration interval MT.sub.c, the optimized J.apprxeq.(2Q+1). Therefore, a possible data transition in MT.sub.c results in J=3. The dashed lines in FIG. 3B specify the integration interval utilizing Cheng's method. Following, this method is applied to the example of data modulation presented above, for a case wherein the input signal is (2s)d.sub.7 (t)c(t) and the PN code of the correlator is c(t). The output of the squaring block 360C for the first integration subinterval results in: EQU 2s+L [(-1)(-1)+(-1)(-1)+(-1)(-1)+(1)(1)+(1)(1)]=52s+L .
The output of the squaring block 360C for the second integration subinterval results in: EQU 2s+L [(1)(1)+(1)(1)+(1)(-1)+(-1)(1)+(1)(-1)]=-2s+L .
The output of the squaring block 360C for the third integration subinterval results in: EQU 2s+L [(-1)(1)+(-1)(1)+(1)(-1)+(1)(-1)+(-1)(1)]=-52s+L .
The sum of the three consecutive squares from the summing block 361 equals 102s. This value is less than the 450s as in the conventional acquisition correlator circuit 300 shown in FIG. 3A without data modulation. Yet, is greater than 2s as achieved above for the correlator 300 in FIG. 3A in the presence of data modulation. Accordingly, PN code acquisition is improved in the correlator 300C in FIG. 3C over the correlator 300 in FIG. 3A.
However, it is an object of the present invention to provide a correlator system that performs better than the prior art correlators and can acquire a transmitted PN code phase when a modulating data signal is present.